package w83b.w83bOperacionesPaso.w83bMantenimientos.w83bDelegaciones;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import w83b.w83bBeans.W83bDelegacionesBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import es.ejie.frmk.infraestructura.internacionalizacion.Q70GestorMensajesi18n;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;


public class W83bTablaDelegacionesOutOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		W83bDelegacionesBean bean = (W83bDelegacionesBean)contexto.get("w83bDelegacionesBean");
		int num_paginas = ((ArrayList)contexto.get("w83bListaDelegaciones")).size()/Integer.parseInt(bean.getTotal());
		
		if(((ArrayList)contexto.get("w83bListaDelegaciones")).size()%Integer.parseInt(bean.getTotal())>0){
			num_paginas++;
		}
		
		ArrayList list = (ArrayList)contexto.get("w83bListaDelegaciones");
		for (int i=0; i<list.size();i++){
			W83bDelegacionesBean current = (W83bDelegacionesBean) list.get(i);
			if(W83bClsConstantes.CONSTANTE_SERVICIOS_CENTRALES.equals(current.getCodTerritorio())){
				String idioma = (String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA);
				current.setDescTerritorio(Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun","comun.delegaciones.servCentrales",idioma).toLowerCase());
			}
			
			
			StringBuffer direccionFinal = new StringBuffer(W83bClsConstantes.CUARENTA);//NOPMD
			
			String calle = current.getCalle();
			String numero = current.getNumero();
			direccionFinal.append(calle).append(", Nš ").append(numero).append(", ");
			String piso ="";
			String letra ="";
			if(current.getPiso()!=null){
				piso = current.getPiso();
				direccionFinal.append(piso);
			}
			if(current.getLetra()!=null){
				letra = current.getLetra();
				if(piso!=""){
					direccionFinal.append(" - ").append(letra);
				}else{
					direccionFinal.append(letra);
				}
			}
			current.setDescDireccionFormato(direccionFinal.toString());
		}
		
		List listaVariables = new ArrayList();
		
		listaVariables.add("codTerritorio");
		listaVariables.add("descTerritorio");
		listaVariables.add("descDireccionFormato");
		listaVariables.add("codPostal");
		listaVariables.add("descLocalidad");		
		listaVariables.add("telefono1");
		
		String varClave = "codTerritorio";
		
		bean.setRows(String.valueOf(num_paginas));
		
		
		
		String jJson = W83bUtilidadesComunes.procesarTabla((ArrayList)contexto.get("w83bListaDelegaciones"),listaVariables,varClave,W83bDelegacionesBean.class, bean);
		
		response.setContentType("text/javascript;charset=iso-8859-1");
		response.setHeader("Pragma", "cache");
		response.setHeader("Expires", "0");
		response.setHeader("Cache-Control", "private");
		response.setStatus(HttpServletResponse.SC_OK);
		PrintWriter out = response.getWriter();
		out.print(jJson);
		out.flush();
		
		return null;
	}
	


}
